package com.css.zfzx.fwsjcj.modules.structure.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @author leon
 * @Title:
 * @Description: 土木结构
 * @date 2020/6/2 15:14
 */
@Entity
@Table(name = "fw_building_structure", schema = "fwsjcj", catalog = "")
public class FwBuildingStructureEntity {
    private String id;
    /**
     * 土木结构样本编号
     */
    private String buildingStructureNum;
    /**
     * 所属省
     */
    private String belongtoProvince;
    /**
     * 所属市
     */
    private String belongtoCity;
    /**
     * 所属区县
     */
    private String belongtoArea;
    /**
     * 所属街道
     */
    private String belongtoStreet;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 所属居委会
     */
    private String belongtoTown;
    /**
     * 建筑名称
     */
    private String buildingName;
    /**
     * 建造年代（70s以前,70s,80s,90s,00s,10s）
     */
    private String buildingAge;
    /**
     * 场地类型(I类、II类、III类、IV类)
     */
    private String siteType;
    /**
     * 基础类型(满堂红、条形基础、砖基础、毛石片石卵石、其他)
     */
    private String baseType;
    /**
     * 建筑面积
     */
    private Double buildingArea;
    /**
     * 建筑长度
     */
    private Double buildingLength;
    /**
     * 建筑宽度
     */
    private Double buildingWidth;
    /**
     * 层数
     */
    private Integer floorNum;
    /**
     * 建筑高度
     */
    private Double buildingHeight;
    /**
     * 墙体类型
     */
    private String wallType;
    /**
     * 墙体厚度
     */
    private Double wallThick;
    /**
     * 墙体圈梁（有圈梁,无圈梁）
     */
    private String wallRingBeam;
    /**
     * 墙体砌筑方式(分层交错夯筑,土坯咬砌,其他)
     */
    private String qtdqStyle;
    /**
     * 门窗洞口宽度
     */
    private String windowWidth;
    /**
     * 墙体延性材料
     */
    private String qtyxcl;
    /**
     * 承重墙最大间距
     */
    private String czqMaxSpace;
    /**
     * 屋面形式（平屋面,单坡屋面,双坡屋面,弧面）
     */
    private String wmStyle;
    /**
     * 屋面材料（轻屋面,重屋面）
     */
    private String wmMaterial;
    /**
     * 硬山搁檩(0（否）,1（是）)
     */
    private String ysge;
    /**
     * 屋、楼盖拉结措施
     */
    private String wlgljcs;
    /**
     * 出屋面构件
     */
    private String cwmgj;
    /**
     * 建筑现状(完好,墙体歪闪,墙体开裂,墙体腐蚀酥碎,楼屋盖构件有变形,地基不均匀沉降)
     */
    private String buildingSituation;
    /**
     * 建筑造价/重置单价(保留2位小数，单位：万元/平方米)
     */
    private Double buildingCost;
    /**
     * 建筑照片
     */
    private String buildingPhoto;
    /**
     * 信息说明（填写需要说明的相关信息）
     */
    private String msgIllustrate;
    /**
     * 审核状态 0未提交
     */
    private String status;
    /**
     * 审核人
     */
    private String checkUser;
    /**
     * 审核意见
     */
    private String checkOpinion;
    private String createUser;
    /**
     * 数据采集人
     */
    private String collectUser;

    private Date createTime;
    private String updateUser;
    private Date updateTime;
    private String delFlag;
    /**
     * 任务ID
     */
    private String taskId;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 详细文档
     */
    private String detailFile;

    /**
     * 超级管理员退回意见
     * @return
     */
    private String superBackOpinion;
    /**
     * 省级退回意见
     * @return
     */
    private String provinceBackOpinion;
    @Basic
    @Column(name = "super_back_opinion")
    public String getSuperBackOpinion() {
        return superBackOpinion;
    }

    public void setSuperBackOpinion(String superBackOpinion) {
        this.superBackOpinion = superBackOpinion;
    }

    @Basic
    @Column(name = "province_back_opinion")
    public String getProvinceBackOpinion() {
        return provinceBackOpinion;
    }

    public void setProvinceBackOpinion(String provinceBackOpinion) {
        this.provinceBackOpinion = provinceBackOpinion;
    }

    @Id
    @Column(name = "id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "building_structure_num")
    public String getBuildingStructureNum() {
        return buildingStructureNum;
    }

    public void setBuildingStructureNum(String buildingStructureNum) {
        this.buildingStructureNum = buildingStructureNum;
    }

    @Basic
    @Column(name = "belongto_province")
    public String getBelongtoProvince() {
        return belongtoProvince;
    }

    public void setBelongtoProvince(String belongtoProvince) {
        this.belongtoProvince = belongtoProvince;
    }

    @Basic
    @Column(name = "belongto_city")
    public String getBelongtoCity() {
        return belongtoCity;
    }

    public void setBelongtoCity(String belongtoCity) {
        this.belongtoCity = belongtoCity;
    }

    @Basic
    @Column(name = "belongto_area")
    public String getBelongtoArea() {
        return belongtoArea;
    }

    public void setBelongtoArea(String belongtoArea) {
        this.belongtoArea = belongtoArea;
    }

    @Basic
    @Column(name = "belongto_street")
    public String getBelongtoStreet() {
        return belongtoStreet;
    }

    public void setBelongtoStreet(String belongtoStreet) {
        this.belongtoStreet = belongtoStreet;
    }

    @Basic
    @Column(name = "longitude")
    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    @Basic
    @Column(name = "latitude")
    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    @Basic
    @Column(name = "belongto_town")
    public String getBelongtoTown() {
        return belongtoTown;
    }

    public void setBelongtoTown(String belongtoTown) {
        this.belongtoTown = belongtoTown;
    }

    @Basic
    @Column(name = "building_name")
    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    @Basic
    @Column(name = "building_age")
    public String getBuildingAge() {
        return buildingAge;
    }

    public void setBuildingAge(String buildingAge) {
        this.buildingAge = buildingAge;
    }

    @Basic
    @Column(name = "site_type")
    public String getSiteType() {
        return siteType;
    }

    public void setSiteType(String siteType) {
        this.siteType = siteType;
    }

    @Basic
    @Column(name = "base_type")
    public String getBaseType() {
        return baseType;
    }

    public void setBaseType(String baseType) {
        this.baseType = baseType;
    }

    @Basic
    @Column(name = "building_area")
    public Double getBuildingArea() {
        return buildingArea;
    }

    public void setBuildingArea(Double buildingArea) {
        this.buildingArea = buildingArea;
    }

    @Basic
    @Column(name = "building_length")
    public Double getBuildingLength() {
        return buildingLength;
    }

    public void setBuildingLength(Double buildingLength) {
        this.buildingLength = buildingLength;
    }

    @Basic
    @Column(name = "building_width")
    public Double getBuildingWidth() {
        return buildingWidth;
    }

    public void setBuildingWidth(Double buildingWidth) {
        this.buildingWidth = buildingWidth;
    }

    @Basic
    @Column(name = "floor_num")
    public Integer getFloorNum() {
        return floorNum;
    }

    public void setFloorNum(Integer floorNum) {
        this.floorNum = floorNum;
    }

    @Basic
    @Column(name = "building_height")
    public Double getBuildingHeight() {
        return buildingHeight;
    }

    public void setBuildingHeight(Double buildingHeight) {
        this.buildingHeight = buildingHeight;
    }

    @Basic
    @Column(name = "wall_type")
    public String getWallType() {
        return wallType;
    }

    public void setWallType(String wallType) {
        this.wallType = wallType;
    }

    @Basic
    @Column(name = "wall_thick")
    public Double getWallThick() {
        return wallThick;
    }

    public void setWallThick(Double wallThick) {
        this.wallThick = wallThick;
    }

    @Basic
    @Column(name = "wall_ring_beam")
    public String getWallRingBeam() {
        return wallRingBeam;
    }

    public void setWallRingBeam(String wallRingBeam) {
        this.wallRingBeam = wallRingBeam;
    }

    @Basic
    @Column(name = "qtdq_style")
    public String getQtdqStyle() {
        return qtdqStyle;
    }

    public void setQtdqStyle(String qtdqStyle) {
        this.qtdqStyle = qtdqStyle;
    }

    @Basic
    @Column(name = "window_width")
    public String getWindowWidth() {
        return windowWidth;
    }

    public void setWindowWidth(String windowWidth) {
        this.windowWidth = windowWidth;
    }

    @Basic
    @Column(name = "qtyxcl")
    public String getQtyxcl() {
        return qtyxcl;
    }

    public void setQtyxcl(String qtyxcl) {
        this.qtyxcl = qtyxcl;
    }

    @Basic
    @Column(name = "czq_max_space")
    public String getCzqMaxSpace() {
        return czqMaxSpace;
    }

    public void setCzqMaxSpace(String czqMaxSpace) {
        this.czqMaxSpace = czqMaxSpace;
    }

    @Basic
    @Column(name = "wm_style")
    public String getWmStyle() {
        return wmStyle;
    }

    public void setWmStyle(String wmStyle) {
        this.wmStyle = wmStyle;
    }

    @Basic
    @Column(name = "wm_material")
    public String getWmMaterial() {
        return wmMaterial;
    }

    public void setWmMaterial(String wmMaterial) {
        this.wmMaterial = wmMaterial;
    }

    @Basic
    @Column(name = "ysge")
    public String getYsge() {
        return ysge;
    }

    public void setYsge(String ysge) {
        this.ysge = ysge;
    }

    @Basic
    @Column(name = "wlgljcs")
    public String getWlgljcs() {
        return wlgljcs;
    }

    public void setWlgljcs(String wlgljcs) {
        this.wlgljcs = wlgljcs;
    }

    @Basic
    @Column(name = "cwmgj")
    public String getCwmgj() {
        return cwmgj;
    }

    public void setCwmgj(String cwmgj) {
        this.cwmgj = cwmgj;
    }

    @Basic
    @Column(name = "building_situation")
    public String getBuildingSituation() {
        return buildingSituation;
    }

    public void setBuildingSituation(String buildingSituation) {
        this.buildingSituation = buildingSituation;
    }

    @Basic
    @Column(name = "building_cost")
    public Double getBuildingCost() {
        return buildingCost;
    }

    public void setBuildingCost(Double buildingCost) {
        this.buildingCost = buildingCost;
    }

    @Basic
    @Column(name = "building_photo")
    public String getBuildingPhoto() {
        return buildingPhoto;
    }

    public void setBuildingPhoto(String buildingPhoto) {
        this.buildingPhoto = buildingPhoto;
    }

    @Basic
    @Column(name = "msg_illustrate")
    public String getMsgIllustrate() {
        return msgIllustrate;
    }

    public void setMsgIllustrate(String msgIllustrate) {
        this.msgIllustrate = msgIllustrate;
    }

    @Basic
    @Column(name = "status")
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Basic
    @Column(name = "check_user")
    public String getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser;
    }

    @Basic
    @Column(name = "check_opinion")
    public String getCheckOpinion() {
        return checkOpinion;
    }

    public void setCheckOpinion(String checkOpinion) {
        this.checkOpinion = checkOpinion;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "collect_user")
    public String getCollectUser() {
        return collectUser;
    }

    public void setCollectUser(String collectUser) {
        this.collectUser = collectUser;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "del_flag")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Basic
    @Column(name = "task_id")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "task_name")
    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    @Basic
    @Column(name = "detail_file")
    public String getDetailFile() {
        return detailFile;
    }

    public void setDetailFile(String detailFile) {
        this.detailFile = detailFile;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        FwBuildingStructureEntity that = (FwBuildingStructureEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(buildingStructureNum, that.buildingStructureNum) &&
                Objects.equals(belongtoProvince, that.belongtoProvince) &&
                Objects.equals(belongtoCity, that.belongtoCity) &&
                Objects.equals(belongtoArea, that.belongtoArea) &&
                Objects.equals(belongtoStreet, that.belongtoStreet) &&
                Objects.equals(belongtoTown, that.belongtoTown) &&
                Objects.equals(buildingName, that.buildingName) &&
                Objects.equals(buildingAge, that.buildingAge) &&
                Objects.equals(siteType, that.siteType) &&
                Objects.equals(baseType, that.baseType) &&
                Objects.equals(buildingArea, that.buildingArea) &&
                Objects.equals(buildingLength, that.buildingLength) &&
                Objects.equals(buildingWidth, that.buildingWidth) &&
                Objects.equals(floorNum, that.floorNum) &&
                Objects.equals(buildingHeight, that.buildingHeight) &&
                Objects.equals(wallType, that.wallType) &&
                Objects.equals(wallThick, that.wallThick) &&
                Objects.equals(wallRingBeam, that.wallRingBeam) &&
                Objects.equals(qtdqStyle, that.qtdqStyle) &&
                Objects.equals(windowWidth, that.windowWidth) &&
                Objects.equals(qtyxcl, that.qtyxcl) &&
                Objects.equals(czqMaxSpace, that.czqMaxSpace) &&
                Objects.equals(wmStyle, that.wmStyle) &&
                Objects.equals(wmMaterial, that.wmMaterial) &&
                Objects.equals(ysge, that.ysge) &&
                Objects.equals(wlgljcs, that.wlgljcs) &&
                Objects.equals(cwmgj, that.cwmgj) &&
                Objects.equals(buildingSituation, that.buildingSituation) &&
                Objects.equals(buildingCost, that.buildingCost) &&
                Objects.equals(buildingPhoto, that.buildingPhoto) &&
                Objects.equals(msgIllustrate, that.msgIllustrate) &&
                Objects.equals(status, that.status) &&
                Objects.equals(checkUser, that.checkUser) &&
                Objects.equals(checkOpinion, that.checkOpinion) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(collectUser, that.collectUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(taskId, that.taskId) &&
                Objects.equals(taskName, that.taskName) &&
                Objects.equals(detailFile, that.detailFile);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, buildingStructureNum, belongtoProvince, belongtoCity, belongtoArea, belongtoStreet, belongtoTown, buildingName, buildingAge, siteType, baseType, buildingArea, buildingLength, buildingWidth, floorNum, buildingHeight, wallType, wallThick, wallRingBeam, qtdqStyle, windowWidth, qtyxcl, czqMaxSpace, wmStyle, wmMaterial, ysge, wlgljcs, cwmgj, buildingSituation, buildingCost, buildingPhoto, msgIllustrate, status, checkUser, checkOpinion, createUser, collectUser, createTime, updateUser, updateTime, delFlag, taskId, taskName, detailFile);
    }
}
